package com.dayou.mapper;

import com.dayou.bean.SysMenu;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 达幽系统集成框架 - 菜单 数据层
 * 
 * @author dayou
 * @date 2020-04-24
 */
public interface SysMenuMapper
{
	/**
     * 查询达幽系统集成框架 - 菜单信息
     * 
     * @param id 达幽系统集成框架 - 菜单ID
     * @return 达幽系统集成框架 - 菜单信息
     */
	SysMenu selectSysMenuById(Integer id);
	
	/**
     * 查询达幽系统集成框架 - 菜单列表
     * 
     * @param sysMenu 达幽系统集成框架 - 菜单信息
     * @return 达幽系统集成框架 - 菜单集合
     */
	List<SysMenu> selectSysMenuList(SysMenu sysMenu);
	
	/**
     * 新增达幽系统集成框架 - 菜单
     * 
     * @param sysMenu 达幽系统集成框架 - 菜单信息
     * @return 结果
     */
	int insertSysMenu(SysMenu sysMenu);
	
	/**
     * 修改达幽系统集成框架 - 菜单
     * 
     * @param sysMenu 达幽系统集成框架 - 菜单信息
     * @return 结果
     */
	int updateSysMenu(SysMenu sysMenu);

	/**
	 * 伪删除达幽系统集成框架 - 菜单
	 *
	 * @param id 达幽系统集成框架 - 菜单ID
	 * @return 结果
	 */
	int fakeDeleteSysMenuById(@Param("id") Integer id, @Param("userId") Long userId);

	/**
	 * 批量伪删除达幽系统集成框架 - 菜单
	 *
     * @param ids 需要删除的数据ID
     * @param userId 删除人ID
	 * @return 结果
	 */
	int fakeDeleteSysMenuByIds(String[] ids, @Param("userId") Long userId);

	/**
	 * 恢复达幽系统集成框架 - 菜单
	 *
	 * @param id 达幽系统集成框架 - 菜单ID
	 * @return 结果
	 */
	int resumeSysMenuById(Integer id);

	/**
	 * 批量恢复达幽系统集成框架 - 菜单
	 *
	 * @param ids 需要恢复的数据ID
	 * @return 结果
	 */
	int resumeSysMenuByIds(String[] ids);
	/**
     * 删除达幽系统集成框架 - 菜单
     * 
     * @param id 达幽系统集成框架 - 菜单ID
     * @return 结果
     */
	int deleteSysMenuById(Integer id);
	
	/**
     * 批量删除达幽系统集成框架 - 菜单
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	int deleteSysMenuByIds(String[] ids);
	
}